# 字符串的常见方法
mystr = 'hello world , my name is lychiyu'

# find 检测 str 是否包含在 mystr中，如果是返回开始的索引值，否则返回-1
# mystr.find(str, start=0, end=len(mystr))
# rfind 从右边开始查找.
print(mystr.find('t',0,len(mystr)))

# index 跟find()方法一样，只不过如果str不在 mystr中会报一个异常.
# mystr.index(str, start=0, end=len(mystr)) 
# rindex 从右边开始.
# print(mystr.index('t'))

# count 返回 str在start和end之间 在 mystr里面出现的次数
# mystr.count(str, start=0, end=len(mystr))
print(mystr.count('l'))

# replace 把 mystr 中的 str1 替换成 str2,如果 count 指定，则替换不超过 count 次.
# mystr.replace(str1, str2,  mystr.count(str1))
newstr = mystr.replace('hello','hi')
print(mystr,newstr)

# split 以 str 为分隔符切片 mystr，如果 maxsplit有指定值，则仅分隔 maxsplit 个子字符串
# mystr.split(str=" ", 2)    
print(mystr.split(' '))

# capitalize 把字符串的第一个字符大写
# mystr.capitalize()
print(mystr.capitalize())

# title 把字符串的每个单词首字母大写
print(mystr.title())

# startswith 检查字符串是否是以 obj 开头, 是则返回 True，否则返回 False
# mystr.startswith(obj)
print(mystr.startswith('hell'))

# lower 转换 mystr 中所有大写字符为小写
# upper 转换 mystr 中的小写字母为大写
# mystr.lower()  mystr.upper()    
print(mystr.lower())
print(mystr.upper())

# just 返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
# rjust 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
# center 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
# mystr.ljust(width)  mystr.rjust(width)  mystr.center(width)
print(mystr.ljust(10))
print(mystr.rjust(10))
print(mystr.center(10))

# lstrip 删除 mystr 左边的空白字符
# rstrip 删除 mystr 字符串末尾的空白字符
# strip 删除mystr字符串两端的空白字符


# partition 把mystr以str分割成三部分,str前，str和str后
# mystr.partition(str)
# rpartition 从右边开始.
print(mystr.partition('world'))

# splitlines 按照行分隔，返回一个包含各行作为元素的列表

# isalpha  如果 mystr 所有字符都是字母 则返回 True,否则返回 False
# isdigit  如果 mystr 只包含数字则返回 True 否则返回 False
# isalnum  如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False
# isspace  如果 mystr 中只包含空格，则返回 True，否则返回 False

# join mystr 中每个字符后面插入str,构造出一个新的字符串
# list.join(str)
list = ['hello','world','my','name','is','lychiyu']
str = '-'
print(str.join(list))